﻿namespace ChengNet.StrongCaml.Node
{
    /// <summary>A <see cref="Condition"/> that joins two child conditions</summary>
    public abstract class LogicalJoin : Condition
    {
        /// <summary>Constructor for nesting two child conditions</summary>
        protected LogicalJoin(Condition left, Condition right) : base(left, right) { }
    }

    /// <summary>Do not instantiate directly. Use <see cref="Caml"/>.</summary>
    public class Or : LogicalJoin { internal Or(Condition left, Condition right) : base(left, right) { } }
    /// <summary>Do not instantiate directly. Use <see cref="Caml"/>.</summary>
    public class And : LogicalJoin { internal And(Condition left, Condition right) : base(left, right) { } }

}
